home *** CD-ROM | disk | FTP | other *** search
- package javax.swing;
-
- import java.awt.Component;
- import java.awt.Component.BaselineResizeBehavior;
- import javax.swing.GroupLayout.1;
- import javax.swing.GroupLayout.Alignment;
-
- class GroupLayout$BaselineGroup extends GroupLayout.ParallelGroup {
- private boolean allSpringsHaveBaseline;
- private int prefAscent;
- private int prefDescent;
- private boolean baselineAnchorSet;
- private boolean baselineAnchoredToTop;
- private boolean calcedBaseline;
- // $FF: synthetic field
- final GroupLayout this$0;
-
- GroupLayout$BaselineGroup(GroupLayout var1, boolean var2) {
- super(var1, Alignment.LEADING, var2);
- this.this$0 = var1;
- this.prefAscent = this.prefDescent = -1;
- this.calcedBaseline = false;
- }
-
- GroupLayout$BaselineGroup(GroupLayout var1, boolean var2, boolean var3) {
- this(var1, var2);
- this.baselineAnchoredToTop = var3;
- this.baselineAnchorSet = true;
- }
-
- void unset() {
- super.unset();
- this.prefAscent = this.prefDescent = -1;
- this.calcedBaseline = false;
- }
-
- void setValidSize(int var1, int var2, int var3) {
- this.checkAxis(var1);
- if (this.prefAscent == -1) {
- super.setValidSize(var1, var2, var3);
- } else {
- this.baselineLayout(var2, var3);
- }
-
- }
-
- int calculateSize(int var1, int var2) {
- this.checkAxis(var1);
- if (!this.calcedBaseline) {
- this.calculateBaselineAndResizeBehavior();
- }
-
- if (var2 == 0) {
- return this.calculateMinSize();
- } else if (var2 == 2) {
- return this.calculateMaxSize();
- } else {
- return this.allSpringsHaveBaseline ? this.prefAscent + this.prefDescent : Math.max(this.prefAscent + this.prefDescent, super.calculateSize(var1, var2));
- }
- }
-
- private void calculateBaselineAndResizeBehavior() {
- this.prefAscent = 0;
- this.prefDescent = 0;
- int var1 = 0;
- Component.BaselineResizeBehavior var2 = null;
-
- for(GroupLayout.Spring var4 : this.springs) {
- if (var4.getAlignment() == null || var4.getAlignment() == Alignment.BASELINE) {
- int var5 = var4.getBaseline();
- if (var5 >= 0) {
- if (var4.isResizable(1)) {
- Component.BaselineResizeBehavior var6 = var4.getBaselineResizeBehavior();
- if (var2 == null) {
- var2 = var6;
- } else if (var6 != var2) {
- var2 = BaselineResizeBehavior.CONSTANT_ASCENT;
- }
- }
-
- this.prefAscent = Math.max(this.prefAscent, var5);
- this.prefDescent = Math.max(this.prefDescent, var4.getPreferredSize(1) - var5);
- ++var1;
- }
- }
- }
-
- if (!this.baselineAnchorSet) {
- if (var2 == BaselineResizeBehavior.CONSTANT_DESCENT) {
- this.baselineAnchoredToTop = false;
- } else {
- this.baselineAnchoredToTop = true;
- }
- }
-
- this.allSpringsHaveBaseline = var1 == this.springs.size();
- this.calcedBaseline = true;
- }
-
- private int calculateMaxSize() {
- int var1 = this.prefAscent;
- int var2 = this.prefDescent;
- int var3 = 0;
-
- for(GroupLayout.Spring var5 : this.springs) {
- int var7 = var5.getMaximumSize(1);
- int var6;
- if ((var5.getAlignment() == null || var5.getAlignment() == Alignment.BASELINE) && (var6 = var5.getBaseline()) >= 0) {
- int var8 = var5.getPreferredSize(1);
- if (var8 != var7) {
- switch (1.$SwitchMap$java$awt$Component$BaselineResizeBehavior[var5.getBaselineResizeBehavior().ordinal()]) {
- case 1:
- if (this.baselineAnchoredToTop) {
- var2 = Math.max(var2, var7 - var6);
- }
- break;
- case 2:
- if (!this.baselineAnchoredToTop) {
- var1 = Math.max(var1, var7 - var8 + var6);
- }
- }
- }
- } else {
- var3 = Math.max(var3, var7);
- }
- }
-
- return Math.max(var3, var1 + var2);
- }
-
- private int calculateMinSize() {
- int var1 = 0;
- int var2 = 0;
- int var3 = 0;
- if (this.baselineAnchoredToTop) {
- var1 = this.prefAscent;
- } else {
- var2 = this.prefDescent;
- }
-
- for(GroupLayout.Spring var5 : this.springs) {
- int var6 = var5.getMinimumSize(1);
- int var7;
- if ((var5.getAlignment() == null || var5.getAlignment() == Alignment.BASELINE) && (var7 = var5.getBaseline()) >= 0) {
- int var8 = var5.getPreferredSize(1);
- Component.BaselineResizeBehavior var9 = var5.getBaselineResizeBehavior();
- switch (1.$SwitchMap$java$awt$Component$BaselineResizeBehavior[var9.ordinal()]) {
- case 1:
- if (this.baselineAnchoredToTop) {
- var2 = Math.max(var6 - var7, var2);
- } else {
- var1 = Math.max(var7, var1);
- }
- break;
- case 2:
- if (!this.baselineAnchoredToTop) {
- var1 = Math.max(var7 - (var8 - var6), var1);
- } else {
- var2 = Math.max(var8 - var7, var2);
- }
- break;
- default:
- var1 = Math.max(var7, var1);
- var2 = Math.max(var8 - var7, var2);
- }
- } else {
- var3 = Math.max(var3, var6);
- }
- }
-
- return Math.max(var3, var1 + var2);
- }
-
- private void baselineLayout(int var1, int var2) {
- int var3;
- int var4;
- if (this.baselineAnchoredToTop) {
- var3 = this.prefAscent;
- var4 = var2 - var3;
- } else {
- var3 = var2 - this.prefDescent;
- var4 = this.prefDescent;
- }
-
- for(GroupLayout.Spring var6 : this.springs) {
- GroupLayout.Alignment var7 = var6.getAlignment();
- if (var7 != null && var7 != Alignment.BASELINE) {
- this.setChildSize(var6, 1, var1, var2);
- } else {
- int var8 = var6.getBaseline();
- if (var8 >= 0) {
- int var9 = var6.getMaximumSize(1);
- int var10 = var6.getPreferredSize(1);
- int var11 = var10;
- int var12;
- switch (1.$SwitchMap$java$awt$Component$BaselineResizeBehavior[var6.getBaselineResizeBehavior().ordinal()]) {
- case 1:
- var12 = var1 + var3 - var8;
- var11 = Math.min(var4, var9 - var8) + var8;
- break;
- case 2:
- var11 = Math.min(var3, var9 - var10 + var8) + (var10 - var8);
- var12 = var1 + var3 + (var10 - var8) - var11;
- break;
- default:
- var12 = var1 + var3 - var8;
- }
-
- var6.setSize(1, var12, var11);
- } else {
- this.setChildSize(var6, 1, var1, var2);
- }
- }
- }
-
- }
-
- int getBaseline() {
- if (this.springs.size() > 1) {
- this.getPreferredSize(1);
- return this.prefAscent;
- } else {
- return this.springs.size() == 1 ? ((GroupLayout.Spring)this.springs.get(0)).getBaseline() : -1;
- }
- }
-
- Component.BaselineResizeBehavior getBaselineResizeBehavior() {
- if (this.springs.size() == 1) {
- return ((GroupLayout.Spring)this.springs.get(0)).getBaselineResizeBehavior();
- } else {
- return this.baselineAnchoredToTop ? BaselineResizeBehavior.CONSTANT_ASCENT : BaselineResizeBehavior.CONSTANT_DESCENT;
- }
- }
-
- private void checkAxis(int var1) {
- if (var1 == 0) {
- throw new IllegalStateException("Baseline must be used along vertical axis");
- }
- }
- }
-